const urllib = require('url')
const http = require('http')
const https = require('https')
const fs = require('fs')
const path = require('path')

// http.ClientRequest() 貌似已经废弃了
// request（obj， fn） 也可以是一个字符串和一个回调函数
/* {
//     host: 'www.baidu.com',
//     path: '/',
//     headers: {}
// }
*/
let req = http.request('http://www.baidu.com', (res) => {
    console.log(res)
    console.log(res.statusCode)
    console.log(res.statusMessage)
    if (res.statusCode >= 200 && res.statusCode < 300 || res.statusCode == 304) {
        let arr = []
        res.on('data', data => {
            arr.push(data)
        })

        res.on('end', () => {
            let buffer = Buffer.concat(arr)
            console.log(buffer)
            fs.writeFile(path.resolve('../temp', 'baidu'), buffer, err => {
                if (err) {
                    console.log('文件写入失败', err)
                } else {
                    console.log('完成')
                }
            })
        })
    } else {
        console.log('error')
    }
})

req.on('error', error => {console.log(error)})
// 发送一个post 数据， 必须又一个字符串
req.write('')
// requset 配置完成，可以开始正式请求
req.end()